//
//  main.c
//  141. hasCycle
//
//  Created by edz on 2020/7/17.
//  Copyright © 2020 edz. All rights reserved.
//

/*
 给定一个链表，判断链表中是否有环。

 为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。
 */
#include <stdio.h>

// 快慢指针

bool hasCycle(struct ListNode *head) {
    struct ListNode *slow = head, *fast = head;
    while((fast != NULL) && (fast->next != NULL)) {
        slow = slow->next;
        fast = fast->next->next;

        if(slow == fast) {
            return true;
        }
    }
    
    return false;
}
